<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/sections.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/sections.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX1NFQ1RJT05TX0hfXzA_"><span class="b">_ASM_GENERIC_SECTIONS_H_</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX1NFQ1RJT05TX0hfXzA_"><span class="b">_ASM_GENERIC_SECTIONS_H_</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="k">/* References to section boundaries */</span>
<a name="5" /><span class="True">       5:</span> 
<a name="6" /><span class="True">       6:</span> <span class="k">/*</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * Usage guidelines:</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * _text, _data: architecture specific, don&apos;t use them in arch-independent code</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * [_stext, _etext]: contains .text.* sections, may also contain .rodata.*</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> *                   and/or .init.* sections</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * [_sdata, _edata]: contains .data.* sections, may also contain .rodata.*</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> *                   and/or .init.* sections.</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * [__start_rodata, __end_rodata]: contains .rodata.* sections</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * [__init_begin, __init_end]: contains .init.* sections, but .init.text.*</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> *                   may be out of this range on some architectures.</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * [_sinittext, _einittext]: contains .init.text.* sections</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * [__bss_start, __bss_stop]: contains BSS sections</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> *</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * Following global variables are optional and may be unavailable on some</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * architectures and/or kernel configurations.</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> *    _text, _data</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> *    __kprobes_text_start, __kprobes_text_end</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> *    __entry_text_start, __entry_text_end</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> *    __ctors_start, __ctors_end</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> */</span>
<a name="26" /><span class="True">      26:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">_text</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">_stext</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">_etext</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="27" /><span class="True">      27:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">_data</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">_sdata</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">_edata</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="28" /><span class="True">      28:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__bss_start</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__bss_stop</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="29" /><span class="True">      29:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__init_begin</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__init_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="30" /><span class="True">      30:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">_sinittext</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">_einittext</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="31" /><span class="True">      31:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="32" /><span class="True">      32:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__per_cpu_load</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__per_cpu_start</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__per_cpu_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="33" /><span class="True">      33:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__kprobes_text_start</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__kprobes_text_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="34" /><span class="True">      34:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__entry_text_start</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__entry_text_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="35" /><span class="True">      35:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__start_rodata</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__end_rodata</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="36" /><span class="True">      36:</span> 
<a name="37" /><span class="True">      37:</span> <span class="k">/* Start and end of .ctors section - used for constructor calls. */</span>
<a name="38" /><span class="True">      38:</span> <span class="m">extern</span> <span class="m">char</span> <span class="b">__ctors_start</span><span class="f">[</span><span class="f">]</span><span class="f">,</span> <span class="b">__ctors_end</span><span class="f">[</span><span class="f">]</span><span class="f">;</span>
<a name="39" /><span class="True">      39:</span> 
<a name="40" /><span class="True">      40:</span> <span class="k">/* function descriptor handling (if any).  Override</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> * in asm/sections.h */</span>
<a name="42" /><span class="True">      42:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_ZGVyZWZlcmVuY2VfZnVuY3Rpb25fZGVzY3JpcHRvcl8w"><span class="b">dereference_function_descriptor</span></a>
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_ZGVyZWZlcmVuY2VfZnVuY3Rpb25fZGVzY3JpcHRvcl8w"><span class="b">dereference_function_descriptor</span></a><span class="f">(</span><span class="b">p</span><span class="f">)</span> <span class="f">(</span><span class="b">p</span><span class="f">)</span>
<a name="44" /><span class="True">      44:</span> <span class="f">#</span><span class="n">endif</span>
<a name="45" /><span class="True">      45:</span> 
<a name="46" /><span class="True">      46:</span> <span class="k">/* random extra sections (if any).  Override</span>
<a name="47" /><span class="True">      47:</span> <span class="k"> * in asm/sections.h */</span>
<a name="48" /><span class="True">      48:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">arch_is_kernel_text</span>
<a name="49" /><span class="True">      49:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">arch_is_kernel_text</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">)</span>
<a name="50" /><span class="True">      50:</span> <span class="f">{</span>
<a name="51" /><span class="True">      51:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="52" /><span class="True">      52:</span> <span class="f">}</span>
<a name="53" /><span class="True">      53:</span> <span class="f">#</span><span class="n">endif</span>
<a name="54" /><span class="True">      54:</span> 
<a name="55" /><span class="True">      55:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">arch_is_kernel_data</span>
<a name="56" /><span class="True">      56:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">int</span> <span class="b">arch_is_kernel_data</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span> <span class="b">addr</span><span class="f">)</span>
<a name="57" /><span class="True">      57:</span> <span class="f">{</span>
<a name="58" /><span class="True">      58:</span>     <span class="m">return</span> <span class="c">0</span><span class="f">;</span>
<a name="59" /><span class="True">      59:</span> <span class="f">}</span>
<a name="60" /><span class="True">      60:</span> <span class="f">#</span><span class="n">endif</span>
<a name="61" /><span class="True">      61:</span> 
<a name="62" /><span class="True">      62:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _ASM_GENERIC_SECTIONS_H_ */</span>
<a name="63" /><span class="True">      63:</span> </pre>
  </body>
</html>
